/**
 * 音频路径
 */
export class AudioPaths {
    /**
     * 禁止创建对象
     */
    private constructor() {
    }

    /**
     * 音乐根目录
     */
    private static MUSIC_DIR = "audio/music/";
    /**
     * 音效跟目录
     */
    private static SOUND_DIR = "audio/sound/";

    /**
     * 获取音乐路径
     *
     * @param name 音乐名称
     */
    public static getMusic(name: string): string {
        return this.MUSIC_DIR + name;
    }

    /**
     * 获取音效路径
     *
     * @param name 音效名称
     */
    public static getSound(name: string): string {
        return this.SOUND_DIR + name;
    }

    /**
     * 按钮点击
     */
    public static get clickSound(): string {
        return this.getSound("click");
    }

    /**
     * 主界面点击按钮
     */
    public static get homePanelClickSound(): string {
        return this.getSound("homePanelClick");
    }

    /**
     * 死亡-蜘蛛
     */
    public static get aulaDieSound(): string {
        return this.getSound("aulaDie");
    }

    /**
     * 死亡-爆炸龙
     */
    public static get boomDragonDieSound(): string {
        return this.getSound("boomDragonDie");
    }

    /**
     * 死亡-巨龙
     */
    public static get dragonDieSound(): string {
        return this.getSound("dragonDie");
    }

    /**
     * 死亡-地狱火
     */
    public static get hellFireDieSound(): string {
        return this.getSound("hellFireDie");
    }

    /**
     * 死亡-法师
     */
    public static get magicianDieSound(): string {
        return this.getSound("magicianDie");
    }

    /**
     * 死亡-主角
     */
    public static get player01DieSound(): string {
        return this.getSound("player01Die");
    }

    /**
     * 脚步声1
     */
    public static get footStep1Sound(): string {
        return this.getSound("footStep1");
    }

    /**
     * 脚步声2
     */
    public static get footStep2Sound(): string {
        return this.getSound("footStep2");
    }

    /**
     * 金币掉落
     */
    public static get goldDropSound(): string {
        return this.getSound("goldDrop");
    }

    /**
     * 主角受击
     */
    public static get hitPlayerSound(): string {
        return this.getSound("hitPlayer");
    }

    /**
     * 怪物受击
     */
    public static get hitMonsterSound(): string {
        return this.getSound("hitMonster");
    }

    /**
     * 购买出售成功
     */
    public static get sellSound(): string {
        return this.getSound("sell");
    }

    /**
     * 展示传送门
     */
    public static get showWarpGateSound(): string {
        return this.getSound("showWarpGate");
    }

    /**
     * 技能-能量球
     */
    public static get energyBallSound(): string {
        return this.getSound("energyBall");
    }

    /**
     * 技能-龙卷风
     */
    public static get tornadoSound(): string {
        return this.getSound("tornado");
    }

    /**
     * 技能-直线范围火焰
     */
    public static get jetFireSound(): string {
        return this.getSound("jetFire");
    }

    /**
     * 技能-激光
     */
    public static get laserSound(): string {
        return this.getSound("laser");
    }

    /**
     * 小火球
     */
    public static get fireBallSound(): string {
        return this.getSound("fireBall");
    }

    /**
     * 大火球
     */
    public static get fireBallBigSound(): string {
        return this.getSound("fireBallBig");
    }

    /**
     * 主角复活
     */
    public static get reviveSound(): string {
        return this.getSound("revive");
    }

    /**
     * 主角射箭
     */
    public static get looseSound(): string {
        return this.getSound("loose");
    }

    /**
     * 主角技能获得
     */
    public static get getSkillSound(): string {
        return this.getSound("getSkill");
    }

    /**
     * 技能-冰冻
     */
    public static get iceSound(): string {
        return this.getSound("ice");
    }

    /**
     * 技能-生命恢复
     */
    public static get recoverySound(): string {
        return this.getSound("recovery");
    }

    /**
     * 技能-闪电
     */
    public static get lightningSound(): string {
        return this.getSound("lightning");
    }

    /**
     * 技能-火焰
     */
    public static get fireSound(): string {
        return this.getSound("fire");
    }

    /**
     * 金币收集
     */
    public static get goldCollectSound(): string {
        return this.getSound("goldCollect");
    }
}